﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ClienteABMC.aspx.cs" Inherits="ClienteABMC" %>


<asp:Content ID="Content1" ContentPlaceHolderID="Cabecera" runat="Server">
    <style type="text/css">
        #fieldDynamic {
            display: none;
        }
        #formValidator {
            height: 1567px;
        }
    </style>
    <script>
        $(document).ready(function () {
            $('#formValidator').bootstrapValidator({
                message: 'Este valor no es valido.',
                //feedbackIcons: {
                //    valid: 'glyphicon glyphicon-ok',
                //    invalid: 'glyphicon glyphicon-remove',
                //    validating: 'glyphicon glyphicon-refresh'
                //},
                fields: {
                    <%= txtNroDoc.UniqueID %>: {
                        message: 'El número de documento no es valido.',
                        validators: {
                            notEmpty: {
                                message: 'El número de documento no puede estar vacio.'
                            },                             
                            digits:{
                                message: 'El número de documento solo puede ser numerico.'
                            },
                            stringLength:{
                                max:8,
                                message: 'El némero de documento puede tener 8 digitos como maximo'
                            }
                        }
                    },
                     
                    <%--                   <%= txtUserName.UniqueID %>: {
                      message: 'The username is not valid',
                      validators: {
                          notEmpty: {
                              message: 'The username is required and cannot be empty'
                          },
                          stringLength: {
                              min: 6,
                              max: 30,
                              message: 'The username must be more than 6 and less than 30 characters long'
                          },
                          regexp: {
                              regexp: /^[a-zA-Z0-9_]+$/,
                              message: 'The username can only consist of alphabetical, number and underscore'
                          }
                      }
                  },--%>
                    <%= txtNombre.UniqueID %>: {
                        message: 'El nombre no es valido.',
                        validators: {
                            notEmpty: {
                                message: 'El nombre no puede estar vacio.'
                            },
                            regexp: {
                                regexp: /^[a-z\s]+$/i,
                                message: 'El nombre solo puede tener letras.'
                            }
                        }
                    },
                    <%= txtApellido.UniqueID %>: {
                        message: 'El apellido no es valido.',
                        validators: {
                            notEmpty: {
                                message: 'El apellido no puede estar vacio.'
                            },
                            regexp: {
                                regexp: /^[a-z\s]+$/i,
                                message: 'El apellido solo puede tener letras.'
                            }
                        }
                    },

                    <%= txtCalle.UniqueID %>: {
                        message: 'El apellido no es valido.',
                        validators: {
                            notEmpty: {
                                message: 'La calle no puede estar vacía.'
                            },      
                        }
                    },
                

                    <%= txtNumero.UniqueID %>: {
                        message: 'El numero no es valido.',
                        validators: {
                            notEmpty: {
                                message: 'El numero no puede estar vacio.'
                            },                             
                            digits:{
                                message: 'El numero solo puede ser numerico.'
                            }
                        }
                    },

                     <%= txtUsuario.UniqueID %>: {
                         message: 'El usuario no es valido.',
                         validators: {
                             notEmpty: {
                                 message: 'El usuario es requerido.'
                             }
                         }
                   
                     },

                    <%= txtPassword.UniqueID %>: {
                        message: 'La contraseña no es valida.',
                        validators: {
                            notEmpty: {
                                message: 'La contraseña es requerido.'
                            }
                        }
                   
                    },

                    <%= txtEmail.UniqueID %>: {
                        message: 'El email no es válido.',
                        validators: {
                            notEmpty: {
                                message: 'El precio no puede estar vacio.'
                            },                             
                            emailAdress: {
                                message: 'El email no es válido.'
                            },
                            regexp: {
                                regexp: '^[^@\\s]+@([^@\\s]+\\.)+[^@\\s]+$',
                                message: 'El email no es válido.'
                            }
                        }
                    },

                    <%= txtTelefono.UniqueID %>: {
                        message: 'El telefono no es valido.',
                        validators: {                               
                            digits:{
                                message: 'El telefono solo puede ser numerico.'
                            },
                            stringLength:{
                                max:15,
                                message: 'El telefono puede tener 15 digitos como maximo'
                            }
                        }
               
                    },

                    <%= txtSalario.UniqueID %>: {
                        message: 'El salario no es valido.',
                        validators: {                               
                            digits:{
                                message: 'El salario solo puede ser numerico.'
                            },    
                        }
               
                    },

                    <%= txtFechaNac.UniqueID %>: {
                        message: 'La fecha no es valida.',
                        validators: {
                            notEmpty: {
                                message: 'La fecha no puede estar vacia.'
                            },                             
                            date:{
                                format: 'DD/MM/YYYY',
                                message: 'La fecha no es correcta.'
                            }
                        }
                    },
                    <%= cboTipoDoc.UniqueID %>: {
                        message: 'El tipo documento no es valido.',
                        validators: {
                            notEmpty: {
                                message: 'El tipo documento es requerido.'
                            }
                        }
                    },
                    <%= cboSexo.UniqueID %>: {
                        message: 'El sexo no es valida.',
                        validators: {
                            notEmpty: {
                                message: 'El sexo es requerido.'
                            }
                        }
                    
                    },
                    <%= cboBarrio.UniqueID %>: {
                        message: 'El barrio no es valida.',
                        validators: {
                            notEmpty: {
                                message: 'El barrio es requerido.'
                            }
                        }   
                   
                    },
                    <%= cboLocalidad.UniqueID %>: {
                        message: 'La localidad no es valida.',
                        validators: {
                            notEmpty: {
                                message: 'El localidad es requerido.'
                            }
                        }   
                   
                    },
                    <%= txtBuscar.UniqueID %>: {
                        message: 'El apellido no es valido.',
                        validators: {       
                            regexp: {
                                regexp: /^[a-z\s]+$/i,
                                message: 'El apellido solo puede tener letras.'
                            }
                        }
                    }             
                }      
            
            });
            //validation manually
            $("#btnAceptar").click(function(e){
                e.preventDefault();

                if (!$('#formValidator').data('bootstrapValidator').isValid())
                    $('#formValidator').bootstrapValidator('validate');

                if($('#formValidator').data('bootstrapValidator').isValid() == true){
                    var clickButton = document.getElementById("<%=btnSave.ClientID %>");               
                    clickButton.click();
                }
            }); 
        });
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <div class="form-horizontal" id="formValidator">
        <fieldset>
            <legend>Gestion de Clientes</legend>
            <div>
                <div class="form-group">
                    <div class="col-sm-12 alert alert-warning" runat="server" id="alertaCliente">
                        <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                        <strong>Atencion!</strong> Existen facturas usando este Cliente.No se podra eliminar el Cliente hasta que elimine las facturas.
                    </div>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtNombre" class="control-label">Nombre:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtNombre" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtApellido" class="control-label">Apellido:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtApellido" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtFechaNac" class="control-label">Fecha de Nacimiento:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtFechaNac" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="cboTipoDoc" class="control-label">Tipo de Documento:</label>
                </div>
                <div class="col-sm-3">
                    <asp:DropDownList ID="cboTipoDoc" runat="server" CssClass="form-control"></asp:DropDownList>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtNroDoc" class="control-label">Número de Documento:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtNroDoc" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-lg-offset-2 col-sm-6 alert alert-warning" runat="server" id="alertaNumeroDoc">
                    <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                    <strong>Atencion!</strong> Este numero de documento ya se encuentra en uso, ingreso otro.
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtUsuario" class="control-label">Usuario:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtUsuario" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-lg-offset-2 col-sm-6 alert alert-warning" runat="server" id="alertaUsuario">
                    <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                    <strong>Atencion!</strong> Este usuario ya se encuentra en uso, ingreso otro.
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtPassword" class="control-label">Contraseña:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtPassword" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="cboSexo" class="control-label">Sexo:</label>
                </div>
                <div class="col-sm-3">
                    <asp:DropDownList ID="cboSexo" runat="server" CssClass="form-control"></asp:DropDownList>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtCalle" class="control-label">Calle:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtCalle" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtNumero" class="control-label">Número:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtNumero" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="cboLocalidad" class="control-label">Localidad:</label>
                </div>
                <div class="col-sm-3">
                    <asp:DropDownList ID="cboLocalidad" runat="server" AutoPostBack="true" CssClass="form-control" OnSelectedIndexChanged="cboLocalidad_SelectedIndexChanged"></asp:DropDownList>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="cboBarrio" class="control-label">Barrio:</label>
                </div>
                <div class="col-sm-3">
                    <asp:DropDownList ID="cboBarrio" runat="server" CssClass="form-control"></asp:DropDownList>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtEmail" class="control-label">Email:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtEmail" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
             <div class="form-group">
                <div class="col-lg-offset-2 col-sm-6 alert alert-warning" runat="server" id="alertaEmail">
                    <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                    <strong>Atencion!</strong> Este Email ya se encuentra en uso, ingreso otro.
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtTelefono" class="control-label">Telefono:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtTelefono" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>

            <div class="form-group">
                <div class="col-sm-2">
                    <label for="txtSalario" class="control-label">Salario:</label>
                </div>
                <div class="col-sm-3">
                    <asp:TextBox ID="txtSalario" runat="server" Text="" CssClass="form-control"></asp:TextBox>
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-10 col-sm-offset-2">
                    <asp:Button ID="btnNuevo" OnClick="btnNuevo_Click" runat="server" Text="Nuevo" CssClass="btn btn-sm" />

                    <button type="submit" class="btn btn-sm btn-primary" id="btnAceptar" >Aceptar</button>
                    <%--button asp.net runat sever--%>
                    <asp:LinkButton ID="btnSave" CssClass="btn btn-sm btn-primary" runat="server" OnClick="btnAceptar_Click" Style="display: none">LinkButton</asp:LinkButton>
                    <%--message return from sever side--%>
                    <asp:Literal ID="Literal2" runat="server"></asp:Literal>
                    <%--<asp:Button ID="btnAceptar" runat="server" Text="Aceptar" CssClass="btn btn-sm btn-primary" OnClick="btnAceptar_Click" />--%>

                    <asp:Button ID="btnEliminar" runat="server" Text="Eliminar" CssClass="btn btn-sm btn-danger" OnClick="btnEliminar_Click" />                    
                </div>
            </div>
        </fieldset>   
        <div class="container">
            <div class="col-sm-3 col-sm-offset-2">
                <div class="form-group">
                    <label ID="lblBuscar" for="txtBuscar" class="control-label" runat="server">Ingrese el Apellido a Buscar: </label>
                </div>
                <div class="form-group">
                    <asp:TextBox ID="txtBuscar" runat="server" CssClass="form-control"></asp:TextBox>
                </div>
                <div class="form-group">
                    <asp:Button ID="btnBuscar" OnClick="btnBuscar_Click" runat="server" Text="Buscar" CssClass="btn btn-default" />
                </div>
            </div>
        </div>
        <div class="container">
            <div class="col-sm-12 table-responsive">
                <asp:GridView ID="gvCliente"
                    OnSelectedIndexChanged="gvCliente_SelectedIndexChanged" runat="server"
                    CssClass=" table table-bordered table-condensed" AutoGenerateColumns="False">
                    <Columns>
                        <asp:CommandField ShowSelectButton="True" SelectText="Seleccionar" />
                        <asp:BoundField DataField="nombre" HeaderText="Nombre" />
                        <asp:BoundField DataField="apellido" HeaderText="Apellido" />
                        <asp:BoundField DataField="numero_documento" HeaderText="Numero de Documento" />
                        <asp:BoundField DataField="fecha_nacimiento" DataFormatString="{0:d}" HeaderText="Fecha de Nacimiento" />

                    </Columns>

                </asp:GridView>
            </div>
        </div>
    </div>
</asp:Content>
